Skip to main content

Verification Endpoint

This API is used to initiate a phone number verification request for an end-user.

The Verification Start API can be consumed by the mobile and web Verification SDKs to start a verification flow. It can also be invoked directly from backend systems through secure REST API requests.

The API supports seamless verification methods and enables businesses to initiate secure user authentication workflows.

Request Type: POST

Requests from SDK should have Public Authentication Header and Server to Server Requests should be Application Signed requests. Headers should be as follows :

  • Public Authentication AUTH-HEADER - Application <appId>
  • Application Signed Request AUTH-HEADER - Application <appId>:<signature>

Sample Request:

curl -X POST '{BASE-URL}/v1/verifications' \
--header 'Content-Type: application/json' \
--header 'Authorization: {AUTH-HEADER}' \
--header 'x-timestamp: 2014-06-04T13:41:58Z' \
--data '{
"identity": {
"type": "number",
"endpoint": "+919999999999"
},
"method": "seamless",
"reference": "string",
"custom": "string"
}'
ParameterDescriptionJSON TypeRequired
identityWhat is being verified.objectYes
typenumber is currently the only supported endpoint type.stringYes
endpointE.164 phone number (example: +46700000000).stringYes
methodVerification method (seamless).stringYes
referenceYour custom reference for tracking purposes.stringNo
customOptional custom data passed through the verification process.stringNo
HeaderDescriptionJSON TypeRequired
appIdAppId is to be shared by Sinch after onboarding.stringYes
signatureServer to Server authentication is done with Application Signed Requests.stringYes
Content-TypeMust be application/json.stringYes
x-timestampRequest timestamp in ISO-8601 format.
Example:x-timestamp: 2014-06-04T13:41:58Z
stringYes
X-Forwarded-ForUser Ip needs to forwarded in this header to identify the Telecom operator.stringYes

Sample Response

{
"id": "XXXXXXXXXXXXXXXXXXXX",
"seamless": {
"targetUri": "{JIO-BASE-URL}/v2/adv/smv?client_id=XXXXX&redirect_uri={BASE-URL}/v1/jio/smv/verify&app_partner_code=partnercode&state=XXXXXXXXXXXXXXXXXXXX"
},
"method": "seamless",
"_links": [
{
"rel": "status",
"href": "/verification/v1/verifications/id/XXXXXXXXXXXXXXXXXXXX",
"method": "GET"
}
]
}

A success response, or an Error.

ParameterDescriptionJSON TypeRequired
idVerification identifier used to query for status.
Example:"1234567890"
stringYes
seamlessThe response contains the telecom operator specific target URI along with query parameters.
seamless.targetUristring.
The target URI.
Example: "https://targetURI.com"
ObjectYes (when method = seamless)
methodVerificationMethodStart)required.
The type of the verification request. It will be seamless
stringYes
_linksContains related API endpoints that define the next available actions (such as checking status).Array of ObjectsYes

Seamless object fields:

ParameterDescriptionJSON TypeRequired
targetUriThe mobile network verification endpoint that must be triggered by the client device. This URL is called automatically by the SDK or mobile browser over mobile data to complete seamless verification. It includes parameters such as client_id and redirect_uri and some additional parameters required for authentication and redirection.string(URLYes

_links Object Fields :

ParameterDescriptionJSON TypeRequired
relDefines the relationship of the link. "status" indicates this endpoint is used to check the verification status.stringYes
hrefAPI endpoint to retrieve the current status of the verification using the provided id.String (Path/URL)Yes
methodHTTP method required to call the href endpoint. In this case, "GET".stringYes